Bidding on search results for targeting users in an online system

ABSTRACT

Advertisements in a social networking system may be targeted to searching users in relation with a real-time search engine operated by a social networking system. Ads are targeted to users based in part on social information included in a structured search query and/or search results on a page. In a typeahead search, a user of the social networking system may receive prefix search results of objects in the search box. The prefix search results are ranked by relevance to the user, and advertisers may bid for particular objects to increase their ranking in the results list. An option may be provided to a viewer of search query results to buy an ad that would be seen by other users who performed the same search query, received a targeted search result, or based on targeting criteria as determined by the viewer bidding on the ad.

BACKGROUND

The present invention relates generally to online systems and moreparticularly to bidding on search results for targeting users in anonline system.

Traditional advertisers used focus groups and demographic data to gainan understanding of how to design and implement effective ad campaigns.For example, a sports drink advertiser may use a random sampling of atarget population, such as 18-35 year-old men, to determine whether anad would be effective. However, this approach to advertising targetingmay lead to inefficient ad spending because advertisements may bepresented to viewers that are not interested in sports or exercise, forexample.

In recent years, online systems, particularly social networking systems,have made it easier for users to share their interests and preferencesin real-world concepts, such as their favorite movies, musicians,celebrities, soft drinks, hobbies, sports teams, and activities. Theseinterests may be declared by users in user profiles and may also beinferred by social networking systems. Users can also interact withthese real-world concepts through multiple communication channels onsocial networking systems, including interacting with pages on thesocial networking system, sharing interesting articles about causes andissues with other users on the social networking system, and commentingon actions generated by other users on objects external to the socialnetworking system. Actions performed on objects by users on externalwebsites, such as playing gaming applications, listening tomusic-streaming services, and reading document sharing systems, may alsobe captured by the social networking system. Users of the socialnetworking system frequently search for various phrases in the socialnetworking system, such as their favorite celebrities, restaurants todine at, and karaoke bars. In real time, a search engine on the socialnetworking system may return search results, such as content item posts,users, entities, pages, groups, events, and applications in the socialnetworking system, that are relevant to the search queries. Tools havenot been developed to enable advertisers to target user searches in asocial networking system.

Specifically, information available on social networking systems aboutusers' interactions with a real time search engine on the socialnetworking system has not been made available to advertisers astargeting criteria. Because users may perform thousands of searches onobjects within and external to the social networking system on a dailybasis, enabling advertisers to target these interactions provides avaluable opportunity for advertisers that seek to drive traffic andincrease engagement with their websites and brands. However, existingsystems have not provided efficient mechanisms of enabling advertisersto target users based on user searches.

SUMMARY

Advertisements in a social networking system may be targeted tosearching users in relation with a real-time search engine operated by asocial networking system. Ads are targeted to users based in part onsocial information included in a structured search query and/or searchresults on a page where the search results are objects in the socialnetworking system. In a typeahead search, a user of the socialnetworking system may receive prefix search results of objects in thesearch box. The prefix search results are ranked by relevance to theuser, and advertisers may bid for particular objects to increase theirranking in the results list. The social networking system may alsoprovide an option to a viewer of search query results in the socialnetworking system to buy an ad that would be seen by other users whoperformed the same search query, received a targeted search result, orbased on targeting criteria as determined by the viewer bidding on thead.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level block diagram illustrating a process of targetingadvertisements in relation with a real-time search engine on a socialnetworking system according to one embodiment.

FIG. 2 is a high-level block diagram of a system for targetingadvertisements to users of a social networking system based on usersearches, showing a block diagram of the social networking system,according to one embodiment.

FIG. 3 is a flow chart describing the process of targetingadvertisements to users of a social networking system based on usersearches according to one embodiment.

FIG. 4 is a high level block diagram illustrating a search results adbuy user interface module that includes various modules for enablingadvertisers to bid on searches in a social networking system, inaccordance with an embodiment of the invention.

FIGS. 5A-D depict example screenshots of a process of targetingadvertisements in relation with a real-time search engine on a socialnetworking system according to one embodiment.

The figures depict various embodiments of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION Overview of a Social Networking System

A social networking system offers its users the ability to communicateand interact with other users of the social networking system. Usersjoin the social networking system and add connections to a number ofother users to whom they desire to be connected. Users of socialnetworking system can provide information describing them which isstored as user profiles. For example, users can provide their age,gender, geographical location, education history, employment history andthe like. The information provided by users may be used by the socialnetworking system to direct information to the user. For example, thesocial networking system may recommend social groups, events, andpotential friends to a user. A social networking system may also enableusers to explicitly express interest in a concept, such as celebrities,hobbies, sports teams, books, music, and the like. These interests maybe used in a myriad of ways, including targeting advertisements andpersonalizing the user experience on the social networking system byshowing relevant stories about other users of the social networkingsystem based on shared interests.

A social graph includes nodes connected by edges that are stored on asocial networking system. Nodes include users and objects of the socialnetworking system, such as web pages embodying concepts and entities,and edges connect the nodes. Edges represent a particular interactionbetween two nodes, such as when a user expresses an interest in a newsarticle shared by another user about “America's Cup.” The social graphmay record interactions between users of the social networking system aswell as interactions between users and objects of the social networkingsystem by storing information in the nodes and edges that representthese interactions. Custom graph object types and graph action types maybe defined by third-party developers as well as administrators of thesocial networking system to define attributes of the graph objects andgraph actions. For example, a graph object for a movie may have severaldefined object properties, such as a title, actors, directors,producers, year, and the like. A graph action type, such as “purchase,”may be used by a third-party developer on a website external to thesocial networking system to report custom actions performed by users ofthe social networking system. In this way, the social graph may be“open,” enabling third-party developers to create and use the customgraph objects and actions on external websites.

Third-party developers may enable users of the social networking systemto express interest in web pages hosted on websites external to thesocial networking system. These web pages may be represented as pageobjects in the social networking system as a result of embedding awidget, a social plug-in, programmable logic or code snippet into theweb pages, such as an iFrame. Any concept that can be embodied in a webpage may become a node in the social graph on the social networkingsystem in this manner. As a result, users may interact with many objectsexternal to the social networking system that are relevant to a keywordor keyword phrase, such as “Justin Bieber.” Each of the interactionswith an object may be recorded by the social networking system as anedge. By enabling advertisers to target their advertisements based onuser interactions with objects related to a keyword, the advertisementsmay reach a more receptive audience because the users have alreadyperformed an action that is related to the advertisement. For example, amerchandiser that sells Justin Bieber t-shirts, hats, and accessoriesmay target ads for new merchandise to users that have recently performedone of multiple different types of actions, such as listening to JustinBieber's song “Baby,” purchasing Justin Bieber's new fragrance,“Someday,” commenting on a fan page for Justin Bieber, and attending anevent on a social networking system for the launch of a new JustinBieber concert tour. Enabling third-party developers to define customobject types and custom action types is described further in “StructuredObjects and Actions on a Social Networking System,” U.S. applicationSer. No. 13/239,340 filed on Sep. 21, 2011, which is hereby incorporatedby reference.

A social networking system may enable advertisers to target theiradvertisements in relation to a real-time search engine in differentways. A sophisticated advertiser may create and target advertisements totype-ahead search results and executed search results using anapplication programming interface (API) that exposes the informationgathered by the social networking system about searches generated byusers. In one embodiment, an advertiser may create an advertisement thatincludes within the content of the advertisement information about aquery made by a searching user that caused the ad to be targeted to thatuser using the API. For example, an advertisement for beer may includewithin the advertisement references to query terms about food, bars, orkaraoke. The advertisement may be placed within the search resultsincluded on a search result page, in one embodiment. In anotherembodiment, an advertiser may request a target object be boosted, orincreased, in a ranking of search results for type-ahead search resultsas the querying user generates the search terms. In a furtherembodiment, a search ad buy user interface, or user interface element,may be presented as an advertisement within the search results to enablean advertiser to bid on a search query, search terms, and/or searchresults for use as targeting criteria in an advertisement. An option maybe provided to a viewer of search query results to buy an ad that wouldbe seen by other users who performed the same search query, received atargeted search result, or based on targeting criteria as determined bythe viewer bidding on the ad. Machine learning and regression analysismay be used in selecting advertisements for placement in conjunctionwith search results, in one embodiment.

FIG. 1 illustrates a high-level block diagram of a process of targetingadvertisements to users of a social networking system based on usersearches, in one embodiment. An advertiser user interface module 102 mayprovide generated advertisements 104 that each includes targetingcriteria 140 and a commercial message 142 to an ad request module 106.The social networking system 100 may receive advertisements 104 fromadvertisers through a user interface provided by the advertiserinterface module 102, in one embodiment. In another embodiment, thesocial networking system 100 may receive advertisements 104 fromadvertisers through an application programming interface (API) providedby the advertiser interface module 102. An ad targeting module 108 mayreceive the advertisements 104 from the ad request module 106. Areal-time search engine 110 may receive search queries from users of thesocial networking system 100 and provide search results based on thesearch queries. Search results may include structured results such thatthe real time search engine 110 may provide information about the searchresults to the ad targeting module 108 for targeting search results.

FIG. 1 and the other figures use like reference numerals to identifylike elements. A letter after a reference numeral, such as “104 a,”indicates that the text refers specifically to the element having thatparticular reference numeral. A reference numeral in the text without afollowing letter, such as “104,” refers to any or all of the elements inthe figures bearing that reference numeral (e.g. “104” in the textrefers to reference numerals “104 a” and/or “104 b” in the figures).Only three advertisements 104 are shown in FIG. 1 in order to simplifyand clarify the description.

A social networking system 100 may enable advertisers to target theiradvertisements 104 to users of the social networking system based onuser searches performed on the social networking system. The adtargeting module 108 may receive advertisements 104 from the ad requestmodule 106 for targeting within the social networking system 100. The adtargeting module 108 includes a search ad selection module 124, an adplacement module 126, a user feedback module 128, and a machine learningmodule 130. Using these modules, the ad targeting module 108 maycommunicate with a real time search engine 110 that is used by users ofthe social networking system 100 to search for content items in thesocial networking system 100, including but not limited to content postsmade by connected users in the social networking system 100, pages,groups, and other entities connected to viewing users in the socialnetworking system 100, as well as pages, groups, users, events,applications, topics, interests, entities and other nodes on the socialnetworking system 100 that may or may not be connected to the viewinguser generating the search. The ad targeting module 108 may rely on asearch ad selection module 124 to select an ad for placement withintypeahead search results and/or executed search results based on termsincluded in the search query generated by the viewing user, in oneembodiment.

The ad targeting module 108 may use an ad placement module 126 todetermine a placement of a selected ad among results of an executedsearch based on the type of ad and the type of search results generated.For example, an advertisement 104 selected by the search ad selectionmodule 124 for placement within search results communicated by the realtime search engine 110 may be placed by the ad placement module 126among the search results in a typeahead user interface as the viewinguser is generating search terms based on the content of theadvertisement 104, such as the commercial message 142 included in theadvertisement 104. A particular advertisement 104 in the typeahead userinterface may link to a particular entity or node being increased by theadvertisement 104 among other links to other nodes relevant to thesearch query. For example, a searching user may query for “fantasybaseball,” returning various nodes and entities in the social networkingsystem 100, such as a gaming application for fantasy baseball, aninterest for fantasy baseball, a group for fantasy baseball, and so on.The particular advertisement 104 for a fantasy baseball applicationgenerated by Major League Baseball (MLB) and may boost a link to thatapplication in the rankings of the typeahead search results, in oneembodiment. A link may be “boosted” as a result of an advertiser, hereMLB, paying a fee to the social networking system 100 to have the link,or any content item in the social networking system, placed higher inthe rankings of the typeahead search results or having the rank of thelink be increased by an amount commensurate to the fee. In anotherembodiment, the particular advertisement 104 for the MLB fantasybaseball application may be inserted into the typeahead search resultsbased on the received query. The inserted advertisement 104 may have acustomized message to the viewing user regarding fantasy baseball andMLB, and the inserted advertisement 104 may appear larger than the othertypeahead search results, in one embodiment.

The real time search engine 110 includes a search interface module 112,a structured query module 114, a typeahead results module 116, an itemranking module 118, a structured results module 120, and a search addisplay module 122. The search interface module 112 provides a userinterface for searching users to input search queries received by thesocial networking system 100. In one embodiment, the search interfacemodule 112 may enable users of the social networking system 100 togenerate search queries on external websites outside of the socialnetworking system 100 where the search queries are processed by thesocial networking system 100. A social plugin, connect, iFrame, desktopapplication, native mobile application, web browser application, and/ortool navigation bar may be provided by a search interface module 112 toenable users to generate search queries on external websites outside ofthe social networking system 100 as well as on the social networkingsystem 100. A structured query module 114 receives search queriesinputted by searching users and identifies structured elements in thesocial networking system 100, such as applications, interests, topics,entities, users, groups, events, and content items. A structured elementmay be defined as a node in a social graph maintained by the socialnetworking system 100, where the node is stored as an object in thesocial networking system 100. Applications, interests, topics, entities,users, groups, events, and content items are nodes in the social graphrepresented by objects stored in the social networking system 100. Inthis way, the real time search engine may recognize whether thesearching user is searching for a person, an entity, a group, anapplication, a concept, an event, or a content item.

A typeahead results module 116 retrieves and provides for display aplurality of typeahead search results as the searching user inputscharacters in a string of text, where the social networking system 100identifies search terms from the characters in the string of text as asearch query in the social networking system 100. An item ranking module118 generates a ranking of search results to be provided to a user. Therankings of search results may be adjusted based on the advertisement104 boosting a particular search result, in one embodiment. Rankingresults in a typeahead search box based on prefix terms in a searchquery is further discussed in “Search and Retrieval of Objects in aSocial Networking System,” U.S. Pat. No. 8,239,364, filed on Jun. 15,2010, hereby incorporated by reference. A structured results module 120identifies structured information about search results generated from asearch query, such as whether the results are entities, users,applications, groups, content items, events, and so forth. A search addisplay module 122 provides advertisements 104 that are targeted tosearch results to a viewing user as received from the ad targetingmodule 108. The search ad display module 122 may receive ad placementinformation from the ad targeting module 108, such as whether the adshould be placed as a banner advertisement, a sponsored storyadvertisement, an advertisement within the search results, anadvertisement in a newsfeed, a push notification on a mobile device, analert, a communication received on an external system outside of thesocial networking system 100 provided by the search ad display module122, or any other communication channel used by the social networkingsystem 100 to send messages, such as advertisements, to its users.

In one embodiment, the typeahead results module 116 receives a requestfrom an advertiser to boost, or otherwise increase, a ranking of atarget object in the typeahead search results. The boost in the rankingof the target object may not be visible to the searching user as theuser types a search query. A typeahead search results module 116 uses aprefix match of the search query to a plurality of objects in the socialnetworking system 100 to generate a plurality of typeahead searchresults comprising the plurality of objects.

A search results ad buy user interface module 132 may receive searchqueries and search results from the real time search engine 110. Thesearch results ad buy user interface module 132 may provide a viewinguser a user interface element for placing a bid on search results. Thesearch results ad buy user interface 132 may communicate bids to asearch query targeting criteria bidding module 134. The search querytargeting criteria bidding module 134 may provide a bid auction exchangefor advertisers to bid on specific search queries, partial searchqueries, and the like. The search query targeting criteria biddingmodule 134 may store targeting clusters based on search queries, in oneembodiment. A targeting cluster may be defined as a group of users thatare targeted by an advertisement based on a criteria defined by an adrequest. A targeting cluster based on search queries may be defined as agroup of users performing the same or similar search query being groupedas a targeting cluster. In another embodiment, a targeting cluster maychange based on the viewing user performing the search query that wasbid on by an advertiser such that the advertisement may be displayed todifferent users of the social networking system 100 based on the searchquery that is performed.

In a further embodiment, targeting criteria may be defined for an adrequest based on a particular entity or node being included in a groupof search results. The social networking system 100 may enable asearching user to bid on an ad using one or more of the search resultsas targeting criteria. For example, an advertiser may target anadvertisement embedded in search results that include a search resultfor a particular entity, node, genre, or any other structured nodeinformation. The search results ad buy user interface module 132 mayenable the advertiser to bid on search results that include a result forthe particular entity, node, genre, or any other structured nodeinformation. Targeting criteria may also be defined for an ad requestbased on a particular entity or node being used in the search query. Forexample, a user interface element may be provided in a typeahead searchresults user interface after a string of characters are inputted intothe search interface, such as “karaok” which may be matched to the term“karaoke.” The search results ad buy user interface module 132 mayprovide a user interface element within the typeahead search results toenable an advertiser to bid on typeahead search queries and/or resultsbased on strings of characters matching a particular keyword, such as“karaoke.”

System Architecture

FIG. 2 is a high level block diagram illustrating a system environmentsuitable for enabling preference portability for users of a socialnetworking system, in accordance with an embodiment of the invention.The system environment comprises one or more user devices 202, thesocial networking system 100, a network 204, and external websites 212.In alternative configurations, different and/or additional modules canbe included in the system.

The user devices 202 comprise one or more computing devices that canreceive user input and can transmit and receive data via the network204. In one embodiment, the user device 202 is a conventional computersystem executing, for example, a Microsoft Windows-compatible operatingsystem (OS), Apple OS X, and/or a Linux distribution. In anotherembodiment, the user device 202 can be a device having computerfunctionality, such as a personal digital assistant (PDA), mobiletelephone, smart-phone, etc. The user device 202 is configured tocommunicate via network 204. The user device 202 can execute anapplication, for example, a browser application that allows a user ofthe user device 202 to interact with the social networking system 100.In another embodiment, the user device 202 interacts with the socialnetworking system 100 through an application programming interface (API)that runs on the native operating system of the user device 202, such asiOS and ANDROID.

In one embodiment, the network 204 uses standard communicationstechnologies and/or protocols. Thus, the network 204 can include linksusing technologies such as Ethernet, 802.11, worldwide interoperabilityfor microwave access (WiMAX), 3G, 4G, CDMA, digital subscriber line(DSL), etc. Similarly, the networking protocols used on the network 204can include multiprotocol label switching (MPLS), the transmissioncontrol protocol/Internet protocol (TCP/IP), the User Datagram Protocol(UDP), the hypertext transport protocol (HTTP), the simple mail transferprotocol (SMTP), and the file transfer protocol (FTP). The dataexchanged over the network 204 can be represented using technologiesand/or formats including the hypertext markup language (HTML) and theextensible markup language (XML). In addition, all or some of links canbe encrypted using conventional encryption technologies such as securesockets layer (SSL), transport layer security (TLS), and InternetProtocol security (IPsec).

FIG. 2 contains a block diagram of the social networking system 100. Thesocial networking system 100 includes an ad targeting module 108, anedge API module 110, an ad server 112, a user profile store 206, a webserver 208, a content store 210, an edge store 214, an action logger216, and an ad server 218. In other embodiments, the social networkingsystem 100 may include additional, fewer, or different modules forvarious applications. Conventional components such as networkinterfaces, security functions, load balancers, failover servers,management and network operations consoles, and the like are not shownso as to not obscure the details of the system.

The web server 208 links the social networking system 100 via thenetwork 204 to one or more user devices 202; the web server 208 servesweb pages, as well as other web-related content, such as Java, Flash,XML, and so forth. The web server 208 may provide the functionality ofreceiving and routing messages between the social networking system 100and the user devices 202, for example, instant messages, queued messages(e.g., email), text and SMS (short message service) messages, ormessages sent using any other suitable messaging technique. The user cansend a request to the web server 208 to upload information, for example,images or videos that are stored in the content store 210. Additionally,the web server 208 may provide API functionality to send data directlyto native user device operating systems, such as iOS, ANDROID, webOS,and RIM.

An ad server 218 serves advertisements, embodied in ad objects 118stored in the ad store 210, to users of the social networking system 100on the social networking system 100. In one embodiment, the ad server112 may serve advertisements to external websites 102 based on targetingcriteria received via the ad targeting module 108. In anotherembodiment, the ad server 112 serves advertisements that include contentitems posted by users of the social networking system 100 that aresponsored by an advertiser. For example, a user may create a check-inevent at a Starbucks Coffee shop in San Francisco, Calif. that is sharedwith other users connected to the user. An advertiser for Starbucks mayhighlight that check-in event in the other users' feeds by creating anadvertisement based on the check-in event that is targeted to the otherusers connected to the user.

The action logger 216 is capable of receiving communications from theweb server 208 about user actions on and/or off the social networkingsystem 100. The action logger 216 populates an action log withinformation about user actions to record them. Such actions may include,for example, adding a connection to the other user, sending a message tothe other user, uploading an image, reading a message from the otheruser, viewing content associated with the other user, attending an eventposted by another user, among others. In addition, a number of actionsdescribed in connection with other objects are directed at particularusers, so these actions are associated with those users as well.

An action log may be used by a social networking system 100 to logusers' actions on the social networking system 100 as well as externalwebsites that communicate information back to the social networkingsystem 100, in accordance with users' privacy settings and terms ofservice agreements where the social networking system 100 hashes and/oranonymizes user-identifying information. As mentioned above, users mayinteract with various objects on the social networking system 100,including commenting on posts, sharing links, and checking-in tophysical locations via a mobile device. The action log may also includeuser actions on external websites. For example, an e-commerce websitethat primarily sells luxury shoes at bargain prices may recognize a userof a social networking system 100 through social plug-ins that enablethe e-commerce website to identify the user of the social networkingsystem. Because users of the social networking system 100 are uniquelyidentifiable, e-commerce websites, such as this luxury shoe reseller,may use the information about these users as they visit their websites.The action log records data about these users, including viewinghistories, advertisements that were clicked on, purchasing activity, andother patterns from shopping and buying.

User account information and other related information for a user arestored in the user profile store 206. The user profile informationstored in user profile store 206 describes the users of the socialnetworking system 100, including biographic, demographic, and othertypes of descriptive information, such as work experience, educationalhistory, gender, hobbies or preferences, location, and the like. Theuser profile may also store other information provided by the user, forexample, images or videos. In certain embodiments, images of users maybe tagged with identification information of users of the socialnetworking system 100 displayed in an image. The user profile store 206also maintains references to the actions stored in an action log andperformed on objects in the content store 210.

The edge store 214 stores the information describing connections betweenusers and other objects on the social networking system 100. Some edgesmay be defined by users, allowing users to specify their relationshipswith other users. For example, users may generate edges with other usersthat parallel the users' real-life relationships, such as friends,co-workers, partners, and so forth. Other edges are generated when usersinteract with objects in the social networking system 100, such asexpressing interest in a page on the social networking system, sharing alink with other users of the social networking system, and commenting onposts made by other users of the social networking system. The edgestore 214 stores edge objects that include information about the edge,such as affinity scores for objects, interests, and other users.Affinity scores may be computed by the social networking system 100 overtime to approximate a user's affinity for an object, interest, and otherusers in the social networking system 100 based on the actions performedby the user. Multiple interactions between a user and a specific objectmay be stored in one edge object in the edge store 214, in oneembodiment. For example, a user that plays multiple songs from LadyGaga's album, “Born This Way,” may have multiple edge objects for thesongs, but only one edge object for Lady Gaga.

An ad targeting module 108 may receive targeting criteria foradvertisements 104 from an advertiser interface module 102. The adtargeting module 108 may place advertisements within search results in atypeahead user interface, within search results on a page displaying anexecuted search, as a banner advertisement on the search results page, asponsored story advertisement, an advertisement in a newsfeed, a pushnotification on a mobile device, an alert, a communication received onan external system outside of the social networking system 100 providedby the search ad display module 122, and/or any other communicationchannel used by the social networking system 100 to send messages, suchas advertisements, to its users. A search may be performed on the socialnetworking system 100 through a search user interface or on an externalwebsite outside of the social networking system 100. A social plugin,connect, iFrame, desktop application, native mobile application, webbrowser application, and/or tool navigation bar may be provided by thead targeting module 108 to enable users to generate search queries onexternal websites outside of the social networking system 100 as well ason the social networking system 100. For example, an advertisement for alocal offer on photography classes may be targeted to users that haverecently searched for the term “photography” in the social networkingsystem 100. In another embodiment, an advertisement for a local offer onphotography classes may be targeted to users that search for anythingthat leads the users to a search result for a local photography studio.The ad targeting module 108 may receive an advertisement 104 havingtargeting criteria 140 generated by a search results ad buy userinterface module 132 that includes instructions for the ad targetingmodule 108 to target the advertisement 104 based on a particular searchresult. By enabling advertisers to target advertisements to users basedon search results, advertisers may provide more relevant and timelyadvertisements to users. In one embodiment, the ad targeting module 108may target new users performing the targeted search queries and deliversthe targeted advertisements for display.

In one embodiment, advertisers may include multiple targeting criteriabased on searches performed by users of the social networking system100. For example, an advertiser may target users that performed a searchfor “restaurants near Palo Alto” in the social networking system 100 andperformed a later search for “Fuki Sushi,” a restaurant in Palo Alto.The social networking system 100 may also rely on user profileinformation, such as information that the searching user has previouslychecked-in at Fuki Sushi, in targeting an advertisement for a competitorof Fuki Sushi to the searching user. In this way, multiple searches maybe used for targeting advertisements, and conditional targeting, bothpositive and negative, may also be used in targeting criteria.

Targeting Ads Based on Search Queries and Search Results Determined by aSocial Networking System

FIG. 3 illustrates a flow chart diagram depicting a process of targetingadvertisements to users of a social networking system based on usersearches, in accordance with an embodiment of the invention. A queryfrom a searching user is received 302. The query may be received 302from a user interface on a user device connected to the socialnetworking system 100, in one embodiment. In another embodiment, thequery may be received 302 from a user interface on an external systemoutside of the social networking system 100, such as an externalwebsite. A social plugin, connect, iFrame, desktop application, nativemobile application, web browser application, and/or tool navigation barmay be provided to receive 302 a query from a user interface on externalwebsites outside of the social networking system 100 as well as on thesocial networking system 100. In a further embodiment, the query may bereceived 302 through a different type of interface, such as anapplication programming interface (API).

Search results based on the query are then compiled 304. The searchresults may be compiled 304 using a real time search engine on thesocial networking system 100. The real time search engine may search forthe terms included in the query among the content items, entities,users, events, groups, applications, and other information items in thesocial networking system 100. In one embodiment, the search resultsbased on the query may be compiled 304 using other search terms relevantto the search query received 302 from the searching user. In anotherembodiment, the search query may be interpreted by the social networkingsystem 100 to compile 304 the search results, such as a query for“restaurants near San Francisco.” In that instance, the searching useris probably looking for restaurants to dine at near San Francisco, notnecessarily looking for content item posts by connected users thatinclude the words “restaurants near San Francisco,” but instead lookingfor objects in the social networking system 100 that are “restaurants”that are located “near San Francisco,” meaning located within apredetermined proximity to San Francisco, Calif. As a result, the socialnetworking system 100 may interpret the search query to execute adifferent search query, such as objects that are “restaurants” and thathave location properties near San Francisco, Calif., USA.

One or more structured nodes in the query and/or the search results areidentified 306. Structured nodes in the social networking system 100include users, entities, applications, events, groups, content items,and graph objects. The social networking system 100 may identify 306structured nodes in the query and/or the search results based on one ormore object properties of the search results and/or term in the searchquery, in one embodiment. In another embodiment, the social networkingsystem 100 may identify 306 structured nodes in the query by retrievingone or more objects relevant to search terms included in the query anddetermining one or more structured nodes in the social networking system100 based on the retrieved one or more objects.

One or more ads having targeting criteria that are relevant to theidentified one or more structured nodes are then retrieved 308. Thetargeting criteria of the one or more ads may specifically identify oneof the one or more structured nodes identified in the query and/orsearch results to be retrieved 308 by the social networking system 100,in one embodiment. In one embodiment, targeting criteria of the one ormore ads may include one or more keywords that are relevant to theidentified one or more structured nodes such that the one or more adsmay be retrieved 308. One or more information items about the searchinguser may then be retrieved 310. Such information items may include userprofile information, interests, user behavior on the social networkingsystem 100 such as clicking on links and content posted by users,entities, and applications on the social networking system 100, andinformation about connected users and entities in the social networkingsystem 100. Other information items about the search may also beretrieved 310, such as explicitly stated user interests and connectionsto a node, object, entity, brand, or page the user is connected to viathe social graph or open graph, implicit or inferred user interests andconnections based on a user's past history, demographic, socialactivity, friends' activity, subscriptions, and analyzing other peoplesimilar to the user. The information items may include interests,events, and the like.

An ad is selected 312 from the retrieved one or more ads based on theretrieved one or more information items about the searching user. Forexample, where an advertisement is selected based in part on the user'sconnections in the social networking system, an advertisement for asushi restaurant that has been checked into multiple times byconnections of the viewing user may be selected for display to theviewing user where the search query comprised “sushi restaurants” asopposed to other ads for sushi restaurants that are not connected to aviewing user. In another embodiment, an ad is selected 312 from theretrieved one or more ads based on information about the searching userthat indicates a likelihood that is greater than a predeterminedthreshold that the searching user would click on the selected ad, suchas an expected clickthrough rate of the selected ad. In anotherembodiment, the ad may be selected 312 based on information about theviewing user that maximizes the expected cost per click or expected costper impression of the ad.

After the ad is selected 312, the search results and the ad are provided314 for display to the searching user. In one embodiment, the searchresults and the ad are provided 314 in a typeahead search interface asthe searching user inputs one or more terms of the search query. Inanother embodiment, the search results and the ad are provided 314 in atypeahead search interface in a particular order based on determinedrankings of the search results and the selected ad. In a furtherembodiment, the search results and the ad are provided 314 for displayto the searching user such that the selected ad is merged with one ormore of the search results in the typeahead search results. For example,if one or more search results included links to Pepsi Cola, Pepsi USA,and Diet Pepsi, and a selected ad for the viewing user was about Pepsi,the three search results and the selected ad may be merged into a largeradvertisement that includes a commercial message targeted to the viewinguser.

In yet another embodiment, the search results and the selected ad may beprovided 314 for display to the searching user as a page in the socialnetworking system 100, such as a page of search results after the searchquery is executed or a user interface on a mobile device displaying thesearch results after the search is executed. In one embodiment, thesearch results and the selected ad may appear as a listing of selectablelinks that may induce the searching user to browse various nodes on thesocial networking system 100. In another embodiment, the selected ad mayappear in a dedicated section of the page while the search results arelisted separately.

FIG. 4 illustrates a high level block diagram of the search results adbuy user interface module 132 in further detail, in one embodiment. Thesearch results ad buy user interface module 132 includes a search queryanalysis module 400, a search results analysis module 402, a targetingcriteria definition module 404, and an ad criteria selection module 406.These modules may perform in conjunction with each other orindependently to provide a search results ad buy user interface tosearching users to bid on search results as targeting criteria.

A search query analysis module 400 may be used to determine an analysisof received search queries for defining targeting criteria for adrequests that include particular search queries in the social networkingsystem 100. For example, a search query for “tacos” may be analyzed bythe search query analysis module 400 such that the term “taco” isrecognized as an object in the social networking system 100. The objectfor “taco” may have one or more object properties, such as being a fooditem, being served at restaurants, being served at Mexican restaurants,being served at Taco Bell, and so on. The word “taco” may also be foundin various content items, such as posts by users of the socialnetworking system 100 claiming free tacos at Taco Bell locations as apromotion after San Francisco Giant Angel Pagan stole a base in Game 3of the 2012 World Series of Major League Baseball. The search queryanalysis module 400 may identify the term “taco” being searched with theterm “free” and define a separate targeting criteria for those usersperforming that search query, in one embodiment. In another embodiment,the search query analysis module 400 may analyze and track searchqueries being performed in the social networking system 100 to determinewhich phrases are being searched for more frequently. Continuing theexample, an advertiser for a competitor of Taco Bell, such as Del Taco,may be interested in placing advertisements for popular searchesinvolving tacos, such as “free taco.” As a result, the search queryanalysis module 400 may recommend the popular search query to theadvertiser for Del Taco for bidding on targeting criteria that uses thesearch query based on the analysis. Popular search queries, asdetermined by the search query analysis module 400, may be presented toadvertisers through an advertiser interface module 102, for example.

A search results analysis module 402 may analyze search results receivedfrom a real time search engine 110 in the social networking system 100to determine whether a particular node or entity is included in thesearch results to target advertisements based on the search results. Inone embodiment, the search results analysis module 402 may record searchqueries that, when performed by a viewing user, returns search resultsthat include a particular entity or node being targeted. The storedsearch queries may then be bid on by advertisers in an auctionapplication or through an ad buy user interface. In another embodiment,the search results analysis module 402 identifies whether search resultsinclude a particular entity, node, or type of node for targeting byadvertisers that have bid on the particular entity, node, or type ofnode. For example, if an advertiser for Pepsi bids on an advertisementto be placed whenever a soda product appears as a search result, thesearch results analysis module 402 may determine whether search resultsinclude a soda product, thus satisfying the targeting criteria for thePepsi advertisement. In a further embodiment, targeting criteria may bedefined based in part on information retrieved from search queries andsearch results. The targeting criteria may then later be used to targetadvertisements to the searching user on the social networking system 100as well as on external websites outside of the social networking system100.

A targeting criteria definition module 404 generates targeting criteriabased on search results for targeting advertisements. In one embodiment,the targeting criteria of a search results advertisement is determinedby the social networking system 100 upon an advertiser placing a bid ona particular search results page. The targeting criteria definitionmodule 404 then defines targeting criteria to target search results thatinclude a particular entity, node, or type of node, or a search querythat is currently being performed or has been executed, in oneembodiment. In another embodiment, the targeting criteria definitionmodule 404 may define particular targeting criteria to include aparticular search query based on one or more users performing thetargeted search query. For example, the targeting criteria definitionmodule 404 may interpret a received search query, such as “restaurantsnear Oakland” to form a particular search query in the social networkingsystem 100, such as selecting all restaurant-type objects that arelocated within five (5) miles of Oakland, Calif., USA. Once the targetedsearch query defined by the targeting criteria reaches a predeterminedthreshold amount of executed queries, the social networking system 100may recommend the targeted search query to advertisers based onrelevance, in one embodiment.

An ad criteria selection module 406 provides one or more selectablelinks for selecting targeting criteria for ads in an ad buy userinterface provided by the search results ad buy user interface module132. The ad criteria selection module 406 may receive information aboutthe query that was performed to produce the search results thataccompanied the placement of the search ad buy user interface. Thatinformation may include one or more of the particular search termsincluded in the search query. In another embodiment, the specific searchquery may be included as a selectable link in the user interface forselecting targeting criteria for an advertisement.

FIGS. 5A-D illustrate example screenshots of a process of targetingadvertisements in relation with a real-time search engine on a socialnetworking system according to one embodiment of the invention. FIG. 5Aillustrates an example screenshot of a landing page for socialnetworking system 100 being browsed by a viewing user on a web browseroperating on a user device 202. In other embodiments, the viewing usermay access the social networking system 100 on a mobile device operatingan application that provides a user interface for accessing the socialnetworking system 100. A search engine user interface 500 is displayedon the landing page as illustrated in FIG. 5A. Also illustrated on thelanding page is a banner advertisement 512 that includes a call toaction 514. This advertisement 512 for a Red Bull game invites the userto play the game by providing a direct link to the game via the call toaction 514.

FIG. 5B depicts an example screenshot of the same landing page asillustrated in FIG. 5A after search terms 502 have been entered in thesearch engine user interface 500. As the search terms 502 are inputtedinto the search engine user interface 500, a drop down menu of links maybe displayed to provide typeahead search results. Typeahead searchresults may include search results as determined by a real time searchengine 110, in one embodiment. In another embodiment, typeahead searchresults may be determined by a separate search engine, such as anexternal system for searching content on external websites in additionto content on the social networking system 100. As illustrated in FIG.5B, a search result 504 for Mint Karaoke Lounge, a search result 506 forEncore Karaoke Lounge, a search result 508 for Johnny Appleseed, and asearch result 510 for Karaoke Super Star is included in the list oftypeahead search results as provided by the search engine user interface500 after the search terms 502 “Karaoke Lounge” are inputted.

In one embodiment, the typeahead search results are initially rankedaccording to relevance to the searching user. Factors determiningrelevance to a searching user for typeahead search results are furtherdiscussed in “Search and Retrieval of Objects in a Social NetworkingSystem, U.S. Pat. No. 8,239,364, filed on Jun. 15, 2010, herebyincorporated by reference. Prefix search results may be compiled by thesocial networking system 100 that are relevant to the searching userwhere the prefix search results match the received search query. In thisexample, “Karaoke Lounge” is inputted as a search query, and “MintKaraoke Lounge” and “Encore Karaoke Lounge” have been retrieved asmatches. The social networking system may receive a request from anadvertiser to boost, or otherwise increase, a ranking of a target objectin the typeahead search results, such as the object for Mint KaraokeLounge. As illustrated in FIG. 5B, the boost in the ranking of thetarget object may not be visible to the searching user as the user typesa search query.

The search results 504 and 506 for Mint Karaoke Lounge and EncoreKaraoke Lounge may appear as the top two typeahead search resultsbecause the search terms 502 are in the title of the nodes, in oneembodiment. In another embodiment, the search result 504 for MintKaraoke Lounge may be ranked higher than the search result 506 forEncore Karaoke Lounge because more friends of the viewing user hadchecked-in at Mint Karaoke Lounge. In a further embodiment, the socialnetworking system 100 may have received a request from an advertiser toboost a ranking for Mint Karaoke Lounge in the typeahead search resultsdisplayed in the drop down menu, or the typeahead search results userinterface. The search result 508 for Johnny Appleseed, the owner ofEncore Karaoke Lounge, may appear in the typeahead search resultsbecause the viewing user may have recently checked-in to Encore KaraokeLounge, may be connected indirectly to Johnny Appleseed, such as beingtagged in a picture with the owner on the social networking system 100,and so forth.

The search result 510 for Karaoke Super Star, a game with 50,000 monthlyusers in the social networking system 100, may be included in thetypeahead search results after being boosted by an advertisement for thegame, in one embodiment. The title of the game does not include bothsearch terms 502, “Karaoke Lounge,” but does include the term “karaoke.”The advertisement that boosted the ranking of the search result 510 forKaraoke Super Star may have targeted any search queries that include theterm “karaoke.” In another embodiment, the advertisement may include thesearch result 510 for Karaoke Super Star such that the advertisement isinserted into the typeahead search results provided in the search engineuser interface 100.

FIG. 5C illustrates an example screenshot of the landing page where anadditional term is inputted into the search engine user interface 500.Here, the search terms 502 now include “Karaoke Lounge Bar.” As aresult, the typeahead search results provided for display in the searchengine user interface 500 includes the search result 504 for MintKaraoke Lounge, the search result 506 for Encore Karaoke Lounge, and anadvertisement 516 for Coors Light. The advertisement 516 for Coors Lightmay be inserted into the typeahead search results based on the additionof the search term “bar” in the search engine user interface 500. Theadvertisement 516 may include a call to action link 518 that enables theviewing user to claim an offer from Coors Light. Clicking on the link518 may send the searching user to the page for Coors Light in thesocial networking system 100, in an embodiment. In another embodiment,clicking on the link 518 may direct the user to an application in whichthe social networking system 100 may provide a mechanism for the user toclaim the offer. In a further embodiment, clicking on the link 518 maydirect the user to an external system or external website. In oneembodiment, the commercial message of the advertisement 516 for CoorsLight may be specially drafted in response to the search terms 502 thatwere inputted into the search engine user interface 500. For example,the advertisement 516 may include the commercial message “Rest thosevocal cords in between songs with the refreshing taste of Coors Light!”based on the search terms “karaoke” and “bar.” The advertisement 516 mayhave been specifically targeted to users that are searching for karaokebars.

FIG. 5D illustrates an example screenshot of a search results page afterthe search query has been executed in the social networking system 100.The search results page includes an advertisement 520 for American Idoland an advertisement 522 for Madonna's 4 Minutes. The advertisements 520and 522 may be targeted to the search results based on the search terms“Karaoke Lounge Bar,” indicating that the viewing user may be interestedin music, in singing karaoke, and, accordingly, interested in AmericanIdol and Madonna. The social networking system 100 may determine, basedon the search terms 502, that the advertisement 520 for American Idoland the advertisement 522 for Madonna should be provided for display tothe viewing user, in an embodiment. In one embodiment, an advertisement520 for American Idol may have targeting criteria for search resultsthat include places with a keyword of “karaoke.” In another embodiment,the advertisement 520 for American Idol may include targeting criteriabased on the search query including the term “karaoke.” In a furtherembodiment, the advertisement 522 for Madonna's 4 Minutes may betargeted to the searching user based on the advertiser targeting usersthat have an interest in pop music and that may have an intent relatedto music based on an executed search query related to music. The socialnetworking system 100 may interpret the term “karaoke” as related tomusic, and the viewing user may have one or more interests in pagesand/or entities related to the pop music genre in the social networkingsystem 100. As a result, the advertisement 522 for Madonna's 4 Minutesmay be provided for display to the searching user.

FIG. 5D further illustrates a filter user interface 528 such thatdifferent types of search results may be viewed by the searching user,such as an all results filter, a people filter, a pages filter, a placesfilter, a groups filter, an apps filter, an events filter, a musicfilter, a web results filter, a posts by friends filter, a public postsfilter, and a posts in groups filter. The filter user interface 528includes selectable links for the different types of filters. The socialnetworking system 100 may analyze the search results based on thedifferent types of results that are provided. The filters included inthe filter user interface 528 represent the various types of objectsthat are structured in the social networking system 100. Other types ofstructured data may also be recognized by the social networking system100. As a result, advertisers may be provided with additionalinformation about search results through an application programminginterface (API), for example.

The executed search may return search results having different objectproperties, including users, pages, applications, and entities of thesocial networking system 100. As illustrated in FIG. 5D, the firstsearch result 530 is for Frank Federer, a kj at the Mint Karaoke Lounge.Included in the first search result 530 is an indicator 532 that informsthe viewing user that he or she is already connected to Frank Federer asa friend in the social networking system 100. Listed below the firstsearch result 530, other search results include a search result 534 forthe page representing Mint Karaoke Lounge that includes an indicator 536that the page is already connected to the viewing user, a search result538 for the page representing Pandora Karaoke Lounge and a link 540 forthe viewing user to connect with that page, a search result 542 for thepage representing Encore Karaoke Lounge and a link 544 for the viewinguser to connect with that page, and a search result 546 for the pagerepresenting Caliph Bar & Lounge and a link 548 for the viewing user toconnect with that page. FIG. 5D also illustrates a search result 550 fora game application titled “Karaoke Super Star” and a link 552 thatdirects the user to the application in the social networking system 100.The search result 550 may be boosted in the search rankings by anadvertiser for the game application, in one embodiment. FIG. 5D alsoillustrates a search result 554 for a user of the social networkingsystem 100 named “Johnny Appleseed” and a link 556 for the searchinguser to request to be connected to the user in the social networkingsystem 100.

Based on the search results presented for display on the search resultspage, an advertiser may decide to bid on targeting criteria based on thesearch query and/or one or more of the search results. FIG. 5Dillustrates a search ad buy user interface 524 that further includes alink 526 to bid on the search results being presented. The search ad buyuser interface 524 may be similar in appearance to the advertisements520 and 522, in one embodiment. The search ad buy user interface 524 mayinclude one or more links 526 to bid on the search results presented onthe search results page as illustrated in FIG. 5D. Upon clicking on alink 526 to bid on using the search results as targeting criteria forone or more advertisements, the viewing user may be directed to anapplication for bidding on one or more search queries that may have beenperformed to produce the search results. In another embodiment, the usermay be directed to an application for bidding on one or more nodes,entities, applications, users, groups, events, and other content itemsin the social networking system 100 included in the search results pageas a result of the search query. The advertiser may bid on the queriesor nodes using a bid auction exchange against other advertisers in thesocial networking system 100, in one embodiment. In another embodiment,the bid auction exchange may be open to advertisers to external systemsthat may generate advertisements on the external systems. In oneembodiment, the social networking system 100 may serve advertisementsthat direct the user to the external systems, such as an externalwebsite, a separate application operating on a mobile device, or anenterprise system.

SUMMARY

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of theinvention in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the invention may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the invention may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the invention be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the invention is intended to be illustrative, but not limiting, ofthe scope of the invention, which is set forth in the following claims.

What is claimed is:
 1. A method comprising: receiving, by a socialnetworking system, a search query; generating a results page from thesearch query; and providing, in the results page, a user interfaceelement enabling a viewer to provide an ad request, where the ad requesttargets the search query.
 2. The method of 1, further comprising:determining a structured element in the search query, where thestructured element corresponds to an object in the social networkingsystem; and defining targeting criteria of the ad request to include aplurality of users inputting a plurality of search queries comprisingthe structured element in the received search query.
 3. The method of 1,wherein receiving, by a social networking system, a search query furthercomprises: receiving the search query through a user interface in thesocial networking system.
 4. The method of 1, wherein receiving, by asocial networking system, a search query further comprises: receivingthe search query through an application programming interface (API)communicatively coupled with the social networking system.
 5. The methodof 1, wherein receiving, by a social networking system, a search queryfurther comprises: receiving the search query from a user interface onan external system communicatively coupled with the social networkingsystem.
 6. The method of 1, further comprising: receiving a bid requestvia the interface; and providing the ad to other users of the socialnetworking system in a results page where the same search query wasused.
 7. A method, comprising: receiving a search query in a socialnetworking system from a user device; determining a plurality of searchresults based on the search query; generating a user interface elementfor bidding on a targeting criteria based on the plurality of searchresults and the user device; and providing the user interface elementand the plurality of search results for display on the user deviceresponsive to the received search query.
 8. The method of 7, furthercomprising: determining the targeting criteria to include a plurality ofusers subsequently performing the search query in the social networkingsystem.
 9. The method of 7, wherein generating a user interface elementfor bidding on a targeting criteria based on the plurality of searchresults comprises: determining a type of user interface used to providethe plurality of search results on the user device; and selecting aformat of the user interface element based on the type of user interfaceused to provide the plurality of search results on the user device. 10.The method of 9, wherein the user device comprises a mobile device,wherein the type of user interface used to provide the plurality ofsearch results on the user device comprises a native applicationoperating on the mobile device, and wherein the format of the userinterface element is selected based on the native application.
 11. Themethod of 9, wherein the user device comprises a mobile device, whereinthe type of user interface used to provide the plurality of searchresults on the user device comprises a browser operating on the mobiledevice, and wherein the format of the user interface element is selectedbased on the browser.
 12. The method of 9, wherein the user devicecomprises a computer, wherein the type of user interface used to providethe plurality of search results on the user device comprises a browserapplication operating on the computer, and wherein the format of theuser interface element is selected based on a display resolution of thebrowser application operating on the computer.
 13. The method of 9,wherein the user interface element is provided for display on the userdevice according to the selected format.
 14. The method of 7, furthercomprising: determining a structured element in the search query, wherethe structured element corresponds to an object in the social networkingsystem; and defining the targeting criteria to include a plurality ofusers associated with the structured element in the social networkingsystem.
 15. A method, comprising: providing a user interface to a userof a social networking system for bidding on a received search query forcontent in the social networking system, where the user interfacecomprises one or more selectable links to a bidding auction applicationfor the received search query; receiving a selection of a link withinthe user interface; determining one or more targeting objects in thesocial networking system associated with the received search query;providing the one or more determined targeting objects associated withthe received search query to the bidding auction application in thesocial networking system; and providing the bidding auction applicationfor display to the user.
 16. The method of 15, wherein providing a userinterface to a user of a social networking system comprises: providingthe user interface for display to the user responsive to the userperforming the received search query.
 17. The method of 15, whereinproviding a user interface to a user of a social networking systemcomprises: providing the user interface for display to the user embeddedwithin a plurality of search results generated by the received queryresponsive to the user performing the received search query.
 18. Themethod of 15, wherein providing a user interface to a user of a socialnetworking system comprises: providing the user interface for display tothe user, where the user interface is provided for display in asponsored section of a search results page responsive to the userperforming the received search query.
 19. The method of 15, whereinproviding a user interface to a user of a social networking systemcomprises: providing the user interface for display to the user on anexternal system responsive to the user performing the received searchquery through the external system.
 20. The method of 15, whereindetermining one or more targeting objects in the social networkingsystem associated with the received search query comprises: parsing thereceived search query into one or more keywords; and determining one ormore targeting keyword objects as the one or more targeting objectsbased on the parsed one or more keywords.
 21. The method of 15, whereinproviding the bidding auction application for display to the userfurther comprises providing within the bidding auction application anasking price based on the received search query, the method furthercomprising: determining the asking price based on previously receivedbids for one or more terms included in the received search query. 22.The method of 15, wherein providing the bidding auction application fordisplay to the user further comprises providing within the biddingauction application an asking price based on the received search query,the method further comprising: determining a popularity score of thereceived search query in the social networking system based on afrequency of the social networking system performing the received searchquery; and determining the asking price based on the determinedpopularity score of the received search query.